Cordova আপনাকে মোবাইল ডিভাইসের হার্ডওয়্যার ফিচার যেমন ক্যামেরা, GPS, কন্টাক্টস, স্টোরেজ ইত্যাদি অ্যাক্সেস করার সুযোগ দেয়। এই ফিচারগুলি ব্যবহার করতে Cordova প্লাগইন ব্যবহার করতে হয়, যা মোবাইল ডিভাইসের নেটিভ API গুলির সাথে যোগাযোগ স্থাপন করে। Cordova অ্যাপ্লিকেশন ডেভেলপমেন্টে নেটিভ প্লাগইন ব্যবহারের মাধ্যমে আপনি মোবাইল ডিভাইসের এই ফিচারগুলো সহজে ব্যবহার করতে পারেন।
ডিভাইস ফিচার ব্যবহারের জন্য সাধারণ পদক্ষেপ
- প্লাগইন ইনস্টল করা
- প্লাগইন কনফিগার করা এবং ব্যবহৃত ফিচার কল করা
- ফিচারের ফলাফল প্রাপ্তি এবং প্রক্রিয়া করা
উদাহরণ: ক্যামেরা ব্যবহার করা
Cordova প্লাগইন ব্যবহার করে ক্যামেরার ফিচার অ্যাক্সেস করার জন্য আপনি cordova-plugin-camera প্লাগইন ব্যবহার করতে পারেন। এই প্লাগইন আপনাকে ডিভাইসের ক্যামেরা ব্যবহার করে ছবি তোলার এবং ভিডিও রেকর্ড করার সুবিধা দেয়।
১. প্লাগইন ইনস্টল করা
প্রথমে, আপনি প্লাগইনটি ইনস্টল করতে হবে:
cordova plugin add cordova-plugin-camera২. ক্যামেরা ব্যবহার করে ছবি তোলা
document.getElementById('captureBtn').onclick = function() {
navigator.camera.getPicture(onSuccess, onError, {
quality: 50, // ছবি কীভাবে তুলবেন, তা নির্ধারণ করে
destinationType: Camera.DestinationType.DATA_URL, // ক্যামেরা থেকে ছবির ফর্ম্যাট
sourceType: Camera.PictureSourceType.CAMERA // ক্যামেরা থেকে ছবি নেওয়া হবে
});
};
function onSuccess(imageData) {
var image = document.getElementById('myImage');
image.src = "data:image/jpeg;base64," + imageData; // ছবির ডাটা URL তৈরি করে UI তে দেখানো
}
function onError(error) {
alert('কিছু সমস্যা হয়েছে: ' + error);
}৩. ক্যামেরার ফলাফল প্রক্রিয়া করা
navigator.camera.getPicture()ফাংশনটি ক্যামেরা অ্যাপ্লিকেশন চালু করে এবং ব্যবহারকারী ছবি তোলার পরonSuccessফাংশনে সেই ছবির ডেটা পাঠায়।- ছবিটি
base64ফরম্যাটে পাওয়া যায়, যা আপনি ইমেজ ট্যাগের মাধ্যমে HTML পেজে ডিসপ্লে করতে পারেন।
অন্যান্য ডিভাইস ফিচার ব্যবহার
১. GPS (Geolocation) ব্যবহার করা
GPS ফিচার ব্যবহার করতে cordova-plugin-geolocation প্লাগইন ব্যবহার করা হয়। এটি ডিভাইসের অবস্থান (latitude, longitude) পেতে সহায়তা করে।
cordova plugin add cordova-plugin-geolocationGPS ব্যবহার করে অবস্থান পাওয়া:
navigator.geolocation.getCurrentPosition(onSuccess, onError);
function onSuccess(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
alert('Latitude: ' + latitude + ' Longitude: ' + longitude);
}
function onError(error) {
alert('Error: ' + error.message);
}২. Contacts (কন্টাক্টস) ব্যবহার করা
মোবাইল ডিভাইসের কন্টাক্টস (ফোনবুক) অ্যাক্সেস করতে cordova-plugin-contacts প্লাগইন ব্যবহার করা হয়।
cordova plugin add cordova-plugin-contactsকন্টাক্টস অ্যাক্সেস করা:
navigator.contacts.pickContact(onSuccess, onError);
function onSuccess(contact) {
alert('নাম: ' + contact.displayName + ' ফোন নম্বর: ' + contact.phoneNumbers[0].value);
}
function onError(error) {
alert('Error: ' + error.message);
}৩. ভাইব্রেশন ব্যবহার করা
ডিভাইসের ভাইব্রেশন ফিচার ব্যবহার করতে cordova-plugin-vibration প্লাগইন ব্যবহৃত হয়।
cordova plugin add cordova-plugin-vibrationভাইব্রেশন চালানো:
navigator.vibrate(1000); // 1000 মিলিসেকেন্ড ভাইব্রেশন চালাবে৪. নেটওয়ার্ক স্টেট (Network Status) ব্যবহার করা
ডিভাইসের ইন্টারনেট কানেকটিভিটি চেক করতে cordova-plugin-network-information প্লাগইন ব্যবহার করা হয়।
cordova plugin add cordova-plugin-network-informationনেটওয়ার্ক কানেকশন স্টেট চেক করা:
var networkState = navigator.connection.type;
if(networkState === Connection.NONE) {
alert("ইন্টারনেট সংযোগ নেই");
} else {
alert("ইন্টারনেট সংযোগ আছে");
}সারাংশ
Cordova অ্যাপ্লিকেশন তৈরি করার সময় মোবাইল ডিভাইসের নেটিভ ফিচারগুলি ব্যবহার করতে প্লাগইন ইনস্টল করা এবং সেই অনুযায়ী ফিচার কল করা প্রয়োজন। Cordova বিভিন্ন জনপ্রিয় প্লাগইন যেমন ক্যামেরা, GPS, কন্টাক্টস, ভাইব্রেশন ইত্যাদি ব্যবহার করতে সহায়তা করে। Cordova plugins প্ল্যাটফর্ম-নির্দিষ্ট ফিচারগুলির সাথে সহজে ইন্টিগ্রেশন করতে সক্ষম, যা অ্যাপ্লিকেশনকে নেটিভ অ্যাপের মতো কার্যক্ষমতা প্রদান করে।
Cordova Camera API আপনাকে মোবাইল ডিভাইসের ক্যামেরার মাধ্যমে ছবি বা ভিডিও নিতে এবং সেই ছবি বা ভিডিও অ্যাপ্লিকেশনে ব্যবহার করতে দেয়। এটি একটি প্লাগইন (Camera Plugin) হিসেবে কাজ করে এবং আপনার অ্যাপ্লিকেশনটি মোবাইল ডিভাইসের ক্যামেরার ফিচার ব্যবহার করার অনুমতি দেয়।
এই API ব্যবহার করে আপনি ক্যামেরা থেকে ছবি তোলার জন্য পদ্ধতি নির্ধারণ করতে পারবেন এবং ছবি বা ভিডিও ক্যাপচার করার পর সেই ফাইলটি প্রসেস বা শেয়ার করতে পারবেন।
Cordova Camera API ইনস্টল করা
প্রথমে, আপনার Cordova প্রজেক্টে Camera প্লাগইন ইনস্টল করতে হবে। এর জন্য নীচের কমান্ডটি ব্যবহার করুন:
cordova plugin add cordova-plugin-cameraএই কমান্ডটি cordova-plugin-camera প্লাগইনটি আপনার প্রজেক্টে যোগ করবে, যা ক্যামেরা ফিচার ব্যবহার করতে সক্ষম করবে।
Cordova Camera API ব্যবহার করার ধাপ
১. ক্যামেরা থেকে ছবি তোলা
এখানে একটি উদাহরণ দেওয়া হলো যা ক্যামেরা থেকে ছবি তোলার জন্য ব্যবহার করা হবে:
function capturePhoto() {
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50, // ছবি কতটা পরিষ্কার হবে (0-100)
destinationType: Camera.DestinationType.FILE_URI, // ছবির ফাইলের URI ফেরত পাওয়া যাবে
sourceType: Camera.PictureSourceType.CAMERA, // ক্যামেরা ব্যবহার করা হবে
allowEdit: true, // ছবি এডিট করার অনুমতি
saveToPhotoAlbum: true // ছবিটি ফটোগ্যালারিতে সেভ হবে
});
}
function onSuccess(imageURI) {
var image = document.getElementById('myImage');
image.src = imageURI; // ছবিটি UI তে দেখান
}
function onFail(message) {
alert('ক্যামেরা তোলার সময় একটি ত্রুটি ঘটেছে: ' + message);
}ব্যাখ্যা:
navigator.camera.getPictureফাংশনটি ক্যামেরা অ্যাপ্লিকেশন চালু করে এবং ছবিটি সংগ্রহ করে।onSuccessফাংশনটি সফলভাবে ছবি তোলার পর কল হয় এবং ছবির URI (ফাইল লোকেশন) ব্যবহার করে ছবিটি UI তে প্রদর্শন করা হয়।onFailফাংশনটি যদি কোনো সমস্যা হয় (যেমন ক্যামেরা বন্ধ বা অন্য কোনো ত্রুটি) তাতে একটি ত্রুটি বার্তা প্রদর্শন করবে।
২. গ্যালারি থেকে ছবি নির্বাচন
এছাড়া আপনি ব্যবহারকারীকে গ্যালারি থেকে ছবি নির্বাচন করতে দিতে পারেন। নিচে তার জন্য উদাহরণ দেওয়া হলো:
function getPhotoFromGallery() {
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY // গ্যালারি থেকে ছবি নির্বাচন
});
}এখানে sourceType হিসেবে Camera.PictureSourceType.PHOTOLIBRARY ব্যবহার করা হয়েছে, যা গ্যালারি থেকে ছবি নির্বাচন করার জন্য।
৩. ভিডিও রেকর্ডিং
আপনি যদি ভিডিও রেকর্ড করতে চান, তবে নিচের কোড ব্যবহার করতে পারেন:
function captureVideo() {
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA,
mediaType: Camera.MediaType.VIDEO // ভিডিও রেকর্ড করার জন্য
});
}এই কোডটি ক্যামেরা থেকে ভিডিও রেকর্ড করার জন্য ব্যবহার করা হবে।
৪. ক্যামেরা প্লাগইনের কনফিগারেশন
ক্যামেরা ব্যবহার করার সময় কিছু অতিরিক্ত কনফিগারেশন ব্যবহার করা যেতে পারে। যেমন:
quality: ছবি বা ভিডিওর গুণমান নির্ধারণ করতে ব্যবহৃত হয় (0-100 এর মধ্যে)।destinationType: ক্যামেরা থেকে প্রাপ্ত ফলাফল কীভাবে ফেরত আসবে তা নির্ধারণ করে। যেমন:Camera.DestinationType.FILE_URI: ছবি বা ভিডিওর URI রিটার্ন হবে।Camera.DestinationType.DATA_URL: ছবির বেস64 এনকোডেড ডাটা রিটার্ন করবে।
sourceType: ক্যামেরা থেকে ছবি বা ভিডিও নেয়ার উৎস নির্ধারণ করে:Camera.PictureSourceType.CAMERA: ক্যামেরা ব্যবহার করা হবে।Camera.PictureSourceType.PHOTOLIBRARY: গ্যালারি থেকে ছবি বা ভিডিও নির্বাচন করা হবে।
allowEdit: ছবি এডিট করার অনুমতি দেয়।saveToPhotoAlbum: ছবি ফটোগ্যালারিতে সংরক্ষণ করবে।
সারাংশ
Cordova Camera API আপনাকে মোবাইল ডিভাইসের ক্যামেরা ফিচার ব্যবহার করার সুযোগ দেয়। আপনি ক্যামেরা থেকে ছবি বা ভিডিও তোলা, গ্যালারি থেকে ছবি নির্বাচন, এবং অন্যান্য ক্যামেরা সম্পর্কিত কার্যকারিতা সহজেই অ্যাপ্লিকেশনে সংযুক্ত করতে পারেন। Camera API ব্যবহারের জন্য cordova-plugin-camera প্লাগইন ইনস্টল করা প্রয়োজন এবং এটি মোবাইল ডিভাইসের ক্যামেরা এবং মিডিয়া ফিচারগুলি অ্যাক্সেস করতে সহায়ক।
Geolocation এবং GPS দুটি প্রযুক্তি যা মোবাইল অ্যাপ্লিকেশনে ব্যবহারকারীর অবস্থান ট্র্যাক করার জন্য ব্যবহৃত হয়। এই দুটি প্রযুক্তি মোবাইল ডিভাইসের অবস্থান সম্পর্কিত তথ্য সংগ্রহ করতে সহায়ক, কিন্তু তাদের মধ্যে কিছু পার্থক্য রয়েছে। Cordova অ্যাপ্লিকেশন তৈরিতে এই প্রযুক্তি দুটি ব্যবহার করার মাধ্যমে আপনি মোবাইল ডিভাইসের অবস্থান অনুসন্ধান করতে পারেন। চলুন, এই দুটি প্রযুক্তি কীভাবে কাজ করে এবং Cordova অ্যাপে কিভাবে ব্যবহার করা যায় তা আলোচনা করা যাক।
Geolocation এবং GPS এর মধ্যে পার্থক্য
- Geolocation: এটি একটি ব্রাউজার API যা ডিভাইসের অবস্থান খুঁজে বের করতে সাহায্য করে। Geolocation ব্যবহারকারীর অবস্থান নির্ধারণে বিভিন্ন সোর্স ব্যবহার করে যেমন Wi-Fi, IP ঠিকানা, মোবাইল নেটওয়ার্ক ইত্যাদি। এটি নির্ভুলতা অনুসারে বিভিন্ন ফলাফল প্রদান করতে পারে, কারণ এটি শুধুমাত্র GPS ব্যবহার না করে আরও অনেক ভিন্ন উৎস ব্যবহার করে।
- GPS (Global Positioning System): এটি স্যাটেলাইট-ভিত্তিক একটি সিস্টেম যা সঠিক এবং নির্ভুলভাবে ডিভাইসের অবস্থান নির্ধারণ করতে ব্যবহৃত হয়। GPS সিস্টেমের মাধ্যমে ডিভাইসের নির্ভুল স্থান (লংগিচুড এবং ল্যাটিচুড) জানা যায়, যা Geolocation থেকে বেশি নির্ভুল হয়।
Cordova-তে Geolocation এবং GPS ব্যবহার
Cordova একটি Geolocation Plugin সরবরাহ করে, যা মোবাইল ডিভাইসে ব্যবহারকারীর অবস্থান সহজে ট্র্যাক করতে সাহায্য করে। এটি Geolocation API ব্যবহার করে ডিভাইসের অবস্থান তথ্য সংগ্রহ করতে সহায়ক।
১. Geolocation প্লাগইন ইনস্টল করা
প্রথমে, আপনাকে Cordova অ্যাপে Geolocation প্লাগইন ইনস্টল করতে হবে। নিচের কমান্ডটি ব্যবহার করুন:
cordova plugin add cordova-plugin-geolocation২. অবস্থান অ্যাক্সেস করার জন্য কোড লেখা
Geolocation প্লাগইন ইনস্টল করার পর, আপনি আপনার অ্যাপে নিচের কোড ব্যবহার করে ব্যবহারকারীর অবস্থান ট্র্যাক করতে পারবেন:
navigator.geolocation.getCurrentPosition(
function(position) {
console.log("Latitude: " + position.coords.latitude);
console.log("Longitude: " + position.coords.longitude);
},
function(error) {
console.log("Error: " + error.message);
}
);এই কোডটি ব্যবহারকারীর বর্তমান অবস্থান (ল্যাটিচুড এবং লংগিচুড) প্রদর্শন করবে। getCurrentPosition একটি অ্যাসিঙ্ক্রোনাস ফাংশন যা ব্যবহারকারীর অবস্থান পেতে সহায়ক।
৩. অবস্থান আপডেট ট্র্যাক করা
যদি আপনি ব্যবহারকারীর অবস্থান আপডেট ট্র্যাক করতে চান, তাহলে watchPosition ফাংশন ব্যবহার করতে পারেন:
var watchID = navigator.geolocation.watchPosition(
function(position) {
console.log("Latitude: " + position.coords.latitude);
console.log("Longitude: " + position.coords.longitude);
},
function(error) {
console.log("Error: " + error.message);
},
{ enableHighAccuracy: true, maximumAge: 10000, timeout: 5000 }
);এটি ব্যবহারকারীর অবস্থান ক্রমাগত আপডেট করবে। enableHighAccuracy: true সেট করলে ডিভাইস উচ্চ নির্ভুলতায় অবস্থান নির্ধারণ করবে (এটি GPS ব্যবহার করতে পারে)।
৪. অবস্থানকে পেতে সময়সীমা নির্ধারণ করা
কিছু ক্ষেত্রে, আপনাকে অবস্থান নির্ধারণ করার জন্য একটি সময়সীমা (timeout) সেট করতে হতে পারে। উদাহরণস্বরূপ:
navigator.geolocation.getCurrentPosition(
function(position) {
console.log("Latitude: " + position.coords.latitude);
console.log("Longitude: " + position.coords.longitude);
},
function(error) {
console.log("Error: " + error.message);
},
{ timeout: 10000 } // 10 সেকেন্ড সময়সীমা
);এটি ১০ সেকেন্ডের মধ্যে অবস্থান না পেলে ত্রুটি প্রদর্শন করবে।
৫. অবস্থান ফিচার কনফিগারেশন
Geolocation প্লাগইন ব্যবহার করার সময়, আপনি কিছু কনফিগারেশন অপশনও সেট করতে পারেন:
enableHighAccuracy: এটি ডিভাইসকে উচ্চ নির্ভুলতা ব্যবহার করতে বলে (এটি GPS ব্যবহার করতে পারে)।timeout: এটি নির্ধারণ করে যে, কত সময়ের মধ্যে অবস্থান পাওয়া না গেলে ত্রুটি ঘটবে।maximumAge: এটি বলে যে, কত পুরানো অবস্থান তথ্য নেয়া যেতে পারে।
সারাংশ
Geolocation এবং GPS ব্যবহার করে Cordova অ্যাপে ব্যবহারকারীর অবস্থান নির্ধারণ করা অত্যন্ত সহজ। Cordova এর cordova-plugin-geolocation প্লাগইন ব্যবহার করে আপনি একটি নির্ভুল এবং কার্যকরী অবস্থান ট্র্যাকিং সিস্টেম তৈরি করতে পারেন। Geolocation API বিভিন্ন সোর্স ব্যবহার করে অবস্থান শনাক্ত করতে সহায়ক, তবে যদি আপনি আরও নির্ভুল ফলাফল চান তবে GPS ব্যবহার করা উচিৎ।
Cordova ব্যবহার করে আপনি মোবাইল ডিভাইসের ফাইল সিস্টেম-এর সাথে কাজ করতে পারেন। এটি cordova-plugin-file প্লাগইন ব্যবহার করে সম্ভব। এই প্লাগইনটি আপনাকে ফাইল সিস্টেমে ফাইল তৈরি, পড়া, লেখা এবং মোছার মতো কাজ করতে সহায়তা করে।
নিচে File System এর সাথে কাজ করার জন্য ধাপে ধাপে নির্দেশনা দেওয়া হলো।
ধাপ ১: প্লাগইন ইন্সটল করা
প্রথমে cordova-plugin-file প্লাগইনটি আপনার প্রজেক্টে যোগ করতে হবে। টার্মিনাল বা কমান্ড প্রম্পট থেকে নিচের কমান্ডটি রান করুন:
cordova plugin add cordova-plugin-fileএটি আপনার প্রজেক্টে ফাইল সিস্টেম প্লাগইনটি যোগ করবে।
ধাপ ২: ফাইল সিস্টেমে কাজ করার জন্য কোড লেখা
ফাইল সিস্টেমের সাথে কাজ করতে, আপনি JavaScript কোড ব্যবহার করবেন। এই প্লাগইনটি মোবাইল ডিভাইসের অভ্যন্তরীণ এবং বাহ্যিক স্টোরেজে ফাইল তৈরি, পড়া, লেখা এবং মুছে ফেলার সুযোগ দেয়।
1. ফাইল তৈরি করা
আপনি মোবাইল ডিভাইসের অভ্যন্তরীণ স্টোরেজে নতুন একটি ফাইল তৈরি করতে পারেন। উদাহরণস্বরূপ:
function createFile() {
window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function(directoryEntry) {
directoryEntry.getFile('example.txt', { create: true, exclusive: false }, function(fileEntry) {
console.log('File created: ' + fileEntry.fullPath);
}, onError);
}, onError);
}
function onError(error) {
console.error('Error: ' + error);
}এই কোডে:
cordova.file.dataDirectory: এটি অভ্যন্তরীণ ডিরেক্টরি (ব্যবহারকারীর ডিভাইসের অ্যাপ ডেটা সঞ্চয়ের জন্য ব্যবহৃত) নির্দেশ করে।getFile: নতুন ফাইল তৈরি করার জন্য ব্যবহৃত হয়।
2. ফাইলে লেখা
এখন, আপনি তৈরি করা ফাইলে কিছু লেখা যোগ করতে পারেন:
function writeFile() {
window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function(directoryEntry) {
directoryEntry.getFile('example.txt', { create: false }, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
var blob = new Blob(['Hello, Cordova!'], { type: 'text/plain' });
fileWriter.write(blob);
console.log('File written successfully!');
}, onError);
}, onError);
}, onError);
}এখানে:
createWriter: ফাইল লেখার জন্য একটি লেখক (writer) অবজেক্ট তৈরি করে।write: ফাইলের মধ্যে ডেটা লেখার জন্য ব্যবহার করা হয়।
3. ফাইল পড়া
ফাইল থেকে ডেটা পড়তে, আপনি নিচের মতো কোড ব্যবহার করতে পারেন:
function readFile() {
window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function(directoryEntry) {
directoryEntry.getFile('example.txt', { create: false }, function(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function() {
console.log('File content: ' + this.result);
};
reader.readAsText(file);
}, onError);
}, onError);
}, onError);
}এখানে:
FileReader: ফাইলের বিষয়বস্তু পড়তে ব্যবহৃত হয়।readAsText: ফাইলের বিষয়বস্তু পাঠের জন্য এটি ব্যবহার করা হয়।
4. ফাইল মুছে ফেলা
একটি ফাইল মুছে ফেলতে, আপনি নিচের কোড ব্যবহার করতে পারেন:
function deleteFile() {
window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function(directoryEntry) {
directoryEntry.getFile('example.txt', { create: false }, function(fileEntry) {
fileEntry.remove(function() {
console.log('File deleted successfully!');
}, onError);
}, onError);
}, onError);
}এখানে:
remove: ফাইল মুছে ফেলার জন্য ব্যবহৃত হয়।
ধাপ ৩: প্ল্যাটফর্মে অ্যাপ রান করা
ফাইল সিস্টেমের কাজগুলো পরীক্ষা করতে আপনার অ্যাপটি একটি প্ল্যাটফর্মে রান করতে হবে। Android প্ল্যাটফর্মে পরীক্ষার জন্য:
cordova run androidএটি আপনার অ্যাপটি Android ডিভাইসে রান করবে।
ধাপ ৪: অন্যান্য ফাইল অপারেশন
এছাড়াও, আপনি ডিরেক্টরি তৈরি, ফাইলের গঠন চেক করা, ফাইলের মেটাডেটা পাওয়া ইত্যাদি কাজ করতে পারেন।
1. ডিরেক্টরি তৈরি করা:
function createDirectory() {
window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function(directoryEntry) {
directoryEntry.getDirectory('mydir', { create: true, exclusive: false }, function(dirEntry) {
console.log('Directory created: ' + dirEntry.fullPath);
}, onError);
}, onError);
}2. ফাইল মেটাডেটা পাওয়া:
function getFileMetadata() {
window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function(directoryEntry) {
directoryEntry.getFile('example.txt', { create: false }, function(fileEntry) {
fileEntry.getMetadata(function(metadata) {
console.log('File size: ' + metadata.size);
}, onError);
}, onError);
}, onError);
}সারাংশ
Cordova প্লাগইন ব্যবহার করে মোবাইল ডিভাইসের ফাইল সিস্টেম-এর সাথে কাজ করা সম্ভব। এর মাধ্যমে আপনি ফাইল তৈরি, পড়া, লেখা, মুছতে পারেন এবং ডিরেক্টরি তৈরি করতে পারেন। cordova-plugin-file প্লাগইনটি এই সকল কাজ করতে সহায়ক। এর মাধ্যমে মোবাইল অ্যাপ্লিকেশনগুলিকে আরও শক্তিশালী এবং কার্যকরী করা সম্ভব।
Cordova অ্যাপ্লিকেশনে, আপনি মোবাইল ডিভাইসের Contacts (কন্টাক্টস) এবং Network Information (নেটওয়ার্ক তথ্য) অ্যাক্সেস করতে পারেন। এটি Cordova প্লাগইন ব্যবহার করে সম্ভব হয়, যেগুলি মোবাইল ডিভাইসের নেটিভ ফিচার এবং API গুলির সাথে ইন্টিগ্রেশন করার জন্য ব্যবহৃত হয়। নিচে Contacts এবং Network Information অ্যাক্সেস করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হলো।
১. Contacts (কন্টাক্টস) Access
Cordova Contacts Plugin ব্যবহার করে আপনি মোবাইল ডিভাইসের কন্টাক্ট তালিকা অ্যাক্সেস করতে পারেন। এটি ব্যবহারকারী মোবাইল ডিভাইসে থাকা কন্টাক্টগুলো থেকে তথ্য সংগ্রহ করতে সক্ষম করে। উদাহরণস্বরূপ, আপনি ফোনবুক থেকে নাম, ফোন নম্বর, ইমেইল ঠিকানা, ছবি ইত্যাদি অ্যাক্সেস করতে পারেন।
Cordova Contacts Plugin ইনস্টল করা
কন্টাক্ট অ্যাক্সেস করতে, প্রথমে আপনাকে cordova-plugin-contacts প্লাগইন ইনস্টল করতে হবে। এটি নিম্নলিখিত কমান্ড দিয়ে ইনস্টল করা যেতে পারে:
cordova plugin add cordova-plugin-contactsকন্টাক্ট ডাটা সংগ্রহ করা
এটি ব্যবহার করে আপনি মোবাইল ডিভাইসের কন্টাক্ট তথ্য সংগ্রহ করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো, যেখানে প্রথম ১০টি কন্টাক্টের নাম এবং ফোন নম্বর সংগ্রহ করা হচ্ছে:
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
console.log("Name: " + contacts[i].displayName);
console.log("Phone Number: " + contacts[i].phoneNumbers[0].value);
}
}
function onError(contactError) {
console.log("Error: " + contactError);
}
// Contact options
var options = new ContactFindOptions();
options.filter = ""; // Empty filter to fetch all contacts
options.multiple = true;
// Fields to search
var fields = ["displayName", "phoneNumbers"];
// Find contacts
navigator.contacts.find(fields, onSuccess, onError, options);কন্টাক্ট ফিচারস
- displayName: কন্টাক্টের নাম
- phoneNumbers: কন্টাক্টের ফোন নম্বর
- emails: কন্টাক্টের ইমেইল
ব্যবহার সতর্কতা:
- প্রাইভেসি: এই প্লাগইন ব্যবহার করার সময়, ব্যবহারকারীর অনুমতি নিতে হবে, বিশেষ করে iOS এ এটি অত্যন্ত গুরুত্বপূর্ণ। অ্যাপ্লিকেশনটি কন্টাক্ট অ্যাক্সেস করতে চাইলে অবশ্যই Privacy - Contacts Usage Description আবেদনটি iOS এ উল্লেখ করতে হবে।
২. Network Information Access
Cordova Network Information Plugin ব্যবহার করে আপনি মোবাইল ডিভাইসের নেটওয়ার্ক সংযোগের তথ্য অ্যাক্সেস করতে পারেন। এটি নেটওয়ার্কের ধরন (যেমন WiFi বা Cellular), সংযোগের অবস্থান (যেমন Online বা Offline) ইত্যাদি জানতে সহায়ক।
Cordova Network Information Plugin ইনস্টল করা
নেটওয়ার্ক তথ্য অ্যাক্সেস করতে আপনাকে cordova-plugin-network-information প্লাগইন ইনস্টল করতে হবে। এটি ইনস্টল করতে নিচের কমান্ড ব্যবহার করুন:
cordova plugin add cordova-plugin-network-informationনেটওয়ার্ক স্ট্যাটাস চেক করা
আপনি নিচের কোডটি ব্যবহার করে ডিভাইসের নেটওয়ার্ক স্ট্যাটাস পরীক্ষা করতে পারেন (যেমন, অনলাইন বা অফলাইন) এবং নেটওয়ার্ক টাইপ জানতে পারেন (যেমন WiFi বা Cellular):
function onOnline() {
console.log("Device is online");
}
function onOffline() {
console.log("Device is offline");
}
// Listen to the network status
document.addEventListener("online", onOnline, false);
document.addEventListener("offline", onOffline, false);
// Check network connection type
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
console.log('Network connection type: ' + states[networkState]);Network Information ফিচারস
- navigator.connection.type: নেটওয়ার্কের ধরন (WiFi, 2G, 3G, 4G, বা None)
- navigator.onLine: ডিভাইসটি অনলাইনে আছে কিনা তা চেক করতে ব্যবহার করা হয়।
ব্যবহার সতর্কতা:
- অনুমতি: কিছু প্ল্যাটফর্মে নেটওয়ার্ক তথ্য অ্যাক্সেস করতে বিশেষ অনুমতি প্রয়োজন হতে পারে, যদিও সাধারণত এটি অটোমেটিকভাবে অ্যাক্সেসযোগ্য।
সারাংশ
Cordova Contacts Plugin ব্যবহার করে মোবাইল ডিভাইসের কন্টাক্ট তথ্য অ্যাক্সেস করা যায়, এবং Cordova Network Information Plugin ব্যবহার করে নেটওয়ার্ক সংযোগের তথ্য যেমন অনলাইন/অফলাইন অবস্থা এবং নেটওয়ার্ক টাইপ চেক করা যায়। উভয়ই মোবাইল ডিভাইসের নেটিভ ফিচারের সাথে ইন্টিগ্রেশন করতে সক্ষম, যা মোবাইল অ্যাপ্লিকেশনগুলির কার্যক্ষমতা বাড়াতে সহায়ক।
Read more